package cn.cc.goods.service;

import cn.cc.common.result.utils.RestResult;
import cn.cc.goods.service.bo.AddGoodsSpuBO;
import cn.cc.goods.service.bo.DelGoodsSpuBO;
import cn.cc.goods.service.bo.UpdGoodsSpuBO;
import cn.cc.goods.service.domain.GetGoodsSpuDO;
import cn.cc.goods.service.domain.GetSpuByGoodsIdDO;

import java.util.List;

/**
 * @program: smail-mi-cloud
 * @description: 商品 spu        service
 * @author: Mr.WuChao
 * @create: 2021-07-16 14:32
 **/
public interface GoodsSpuService {

    /**
     * @param spuBO:
     * @description:添加spu数据
     * @auther: Mr.WuChao
     * @date: 2021/7/16 16:23
     * @return: cn.cc.common.result.utils.RestResult<java.lang.Void>
     */
    RestResult<Void> addGoodsSpu(AddGoodsSpuBO spuBO);

    /**
     * @description:查询spu所有数据
     * @auther: Mr.WuChao
     * @date: 2021/7/16 17:26
     * @return: cn.cc.common.result.utils.RestResult<java.util.List < cn.cc.goods.service.domain.GetGoodsSpuDO>>
     */
    RestResult<List<GetGoodsSpuDO>> getGoodsSpu();

    /**
     * @param delGoodsSpuBO:
     * @description:删除spu
     * @auther: Mr.WuChao
     * @date: 2021/7/21 10:34
     * @return: cn.cc.common.result.utils.RestResult<java.lang.Void>
     */
    RestResult<Void> delGoodsSpu(DelGoodsSpuBO delGoodsSpuBO);

    /**
     * @param updGoodsSpuBO:
     * @description:修改spu
     * @auther: Mr.WuChao
     * @date: 2021/7/21 10:34
     * @return: cn.cc.common.result.utils.RestResult<java.lang.Void>
     */
    RestResult<Void> updGoodsSpu(UpdGoodsSpuBO updGoodsSpuBO);

    /**
     * @param addGoodsSpuBO:
     * @description:添加单个
     * @auther: Mr.WuChao
     * @date: 2021/7/21 10:39
     * @return: cn.cc.common.result.utils.RestResult<java.lang.Void>
     */
    RestResult<Void> addGoodSpuOne(AddGoodsSpuBO addGoodsSpuBO);
}
